package message

//消息类型常量
const (
	LoginMesType ="LoginMes"
	LoginResMesType = "LoginResMes"
	RegisterMesType = "RegisterMes"
	RegisterResMesType = "RegisterResMes"
	NotifyUserStatusMesType = "NotifyUserStatusMes"
	SmsMesType = "SmsMes"
)
//用户状态常量
const (
	UserOnline = iota //0
	UserOffline   	//1
	UserBusy		//2
)

type Message struct{
	Type string `json:"type"`//消息类型
	Data string `json:"data"`//消息的数据
}

type LoginMes struct{
	UserId int `json:"userId"`
	UserPwd string `json:"userPwd"`
	UserName string `json:"userName"`
}
type LoginResMes struct{
	Code int `json:"code"`//返回状态码 例如500
	Error string `json:"error"`//返回错误信息
	UsersId []int `json:"usersId"`  	// 登陆成功后把在线用户列表返给用户
}

type RegisterMes struct{
	User User `json:"user"`
}
type RegisterResMes struct{
	Code int `json:"code"`//返回状态码 例如500,200
	Error string `json:"error"`//返回错误信息
}


//为了配合服务器端推送用户状态变化的消息
type NotifyUserStatusMes struct{
	UserId int `json:"userId"`
	Status int `json:"status"`
}

//SmsMes 发送的消息
type SmsMes struct{
	Content string `json:"content"`
	User //匿名结构体
}